package com.paranoidmonkey.ode;

public class SurfaceParameters extends ODEObject{
	protected SurfaceParameters(long id){
		handle=id;
	}
	
	public void setBounce(float bounce){
		AndrODE.SurfaceParametersSetBounce(handle, bounce);
	}
	public void setBounceVel(float bounce){
		AndrODE.SurfaceParametersSetBounceVel(handle, bounce);
	}
	public void setMode(int mode){
		AndrODE.SurfaceParametersSetMode(handle, mode);
	}
	public void setMotion1(float m){
		AndrODE.SurfaceParametersSetMotion1(handle, m);
	}
	public void setMotion2(float m){
		AndrODE.SurfaceParametersSetMotion2(handle, m);
	}
	public void setMotionN(float m){
		AndrODE.SurfaceParametersSetMotionN(handle, m);
	}
	public void setMu(float m){
		AndrODE.SurfaceParametersSetMu(handle, m);
	}
	public void setMu2(float m){
		AndrODE.SurfaceParametersSetMu2(handle, m);
	}
	public void setSlip1(float m){
		AndrODE.SurfaceParametersSetSlip1(handle, m);
	}
	public void setSlip2(float m){
		AndrODE.SurfaceParametersSetSlip2(handle, m);
	}
	public void setSoftCFM(float m){
		AndrODE.SurfaceParametersSetSoftCFM(handle, m);
	}
	public void setSoftERP(float m){
		AndrODE.SurfaceParametersSetSoftERP(handle,m);
	}

	public float getBounce(){
		return AndrODE.SurfaceParametersGetBounce(handle);
	}
	public float getBounceVel(){
		return AndrODE.SurfaceParametersGetBounceVel(handle);
	}
	public float getMode(){
		return AndrODE.SurfaceParametersGetMode(handle);
	}
	public float getMotion1(){
		return AndrODE.SurfaceParametersGetMotion1(handle);
	}
	public float getMotion2(){
		return AndrODE.SurfaceParametersGetMotion2(handle);
	}
	public float getMotionN(){
		return AndrODE.SurfaceParametersGetMotionN(handle);
	}
	public float getMu(){
		return AndrODE.SurfaceParametersGetMu(handle);
	}
	public float getMu2(){
		return AndrODE.SurfaceParametersGetMu2(handle);
	}
	public float getSlip1(){
		return AndrODE.SurfaceParametersGetSlip1(handle);
	}
	public float getSlip2(){
		return AndrODE.SurfaceParametersGetSlip2(handle);
	}
	public float getSoftCFM(){
		return AndrODE.SurfaceParametersGetSoftCFM(handle);
	}
	public float getSoftERP(){
		return AndrODE.SurfaceParametersGetSoftERP(handle);
	}

	public static float dInfinity(){
		return AndrODE.dInfinity();
	}

	public final static int dContactMu2		= 0x001;
	public final static int dContactFDir1		= 0x002;
	public final static int dContactBounce	= 0x004;
	public final static int dContactSoftERP	= 0x008;
	public final static int dContactSoftCFM	= 0x010;
	public final static int dContactMotion1	= 0x020;
	public final static int dContactMotion2	= 0x040;
	public final static int dContactMotionN	= 0x080;
	public final static int dContactSlip1		= 0x100;
	public final static int dContactSlip2		= 0x200;

}
